package edu.zju.gis.dbfg.fileserver.type;

import java.math.BigDecimal;

/**
 * @author yanlo yanlong_lee@qq.com
 * @version 1.0 2018/07/12
 * Comments 数据类型（简化+提供默认值）
 */
public enum DataType {
    /**
     * default 0
     */
    INT(int.class, 0),
    /**
     * default 0
     */
    LONG(long.class, 0),
    /**
     * default 0F
     */
    FLOAT(float.class, 0),
    /**
     * default 0L
     */
    DOUBLE(double.class, 0),
    /**
     * default 0L
     */
    DECIMAL(BigDecimal.class, new BigDecimal(0)),
    /**
     * default '\0'
     */
    CHAR(char.class, '\0'),
    /**
     * default false
     */
    BOOLEAN(boolean.class, false),
    /**
     * default empty
     */
    STRING(String.class, "");

    private Class clazz;
    private Object defaultValue;

    DataType(Class clazz, Object defaultValue) {
        this.clazz = clazz;
        this.defaultValue = defaultValue;
    }

    public Class getClazz() {
        return clazz;
    }

    public Object getDefaultValue() {
        return defaultValue;
    }
}

